iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
0
自我挑戰組

Android App 初學者從零開始用Kotlin寫APP系列 第 24

<Day24>Navigation component(二)

  • 分享至 

  • xImage
  •  

使用前在bulid.gradle(app)import

     dependencies {
    implementation "androidx.navigation:navigation-fragment-ktx:2.3.0"
    implementation "androidx.navigation:navigation-ui-ktx:2.3.0"
     }
  • 在 res/navigation 新增 nav_graph xml*

app:startDestination 將 fragment id="@+id/mainFragment" 指定開始的destination

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/nav_graph.xml"
    app:startDestination="@id/mainFragment">

    <fragment
        android:id="@+id/mainFragment"
        android:name="com.test.TodoListFragment"
        tools:layout="@layout/fragment_todo_list" />

</navigation>

  • fragment_todo_list xml*
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipToPadding="false"
    tools:context=".TodoListFragment">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="60dp"
        tools:listitem="@layout/item_todo" />

    <androidx.appcompat.widget.AppCompatButton
        android:id="@+id/buttonAdd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/add_todo"
        app:layout_constraintBottom_toBottomOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

從 navigation graph 可以看到,開始頁面layout 為 fragment_todo_list:
https://ithelp.ithome.com.tw/upload/images/20201002/20130598fqXO4kf0Ta.png

reference :https://www.notion.so/Navigation-component-9-9-Andy-a1245a1b31c5453fbf1b28f887ec0d73
reference:https://medium.com/@wsrew2000/android-navigation-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-%E4%B8%80-%E5%9F%BA%E7%A4%8E%E4%BD%BF%E7%94%A8-3c1607ce4d38


上一篇
<Day23>Navigation component(一)
下一篇
<Day25>Navigation component(三)
系列文
Android App 初學者從零開始用Kotlin寫APP30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言